Configuration
Data and Configuration Parameters
The Cosmograph widget builds upon the native Cosmograph library, inheriting most of its configuration parameters, most of which are optional and can be modified in real-time.
Minimal Configuration for Points
To render a graph, the following minimal configuration is required:
points
: Data in a pandas DataFrame format.point_id_by
: Unique identifier column for each point.
Additional Points Configuration
point_index_by
: Ordinal index of each point ranging from 0 to x (the number of unique points).point_color_by
: Column name for point colors.point_size_by
: Column name for point sizes.point_size_range
: Defines the range for automatic point size scaling.point_label_by
: Column name for associated point labels.point_label_weight_by
: Column name for point label weights.point_x_by
: Column name for the x-coordinate.point_y_by
: Column name for the y-coordinate.point_cluster_by
: The column name for the point clusters.point_cluster_strength_by
: The column that defines how strongly each point is attracted to its assigned cluster during the simulation.point_include_columns
: An array of additional column names to include in point data.
Minimal Configuration for Links
To define links, the following fields are necessary:
links
: Data in a pandas DataFrame format.link_source_by
: Column with the unique identifier for source points.link_target_by
: Column with the unique identifier for target points.
Additional Links Configuration
link_source_index_by
: Index column of the source point, corresponding topoint_index
.link_target_index_by
: Index column of the target point, corresponding topoint_index
.link_color_by
: Column name for link colors.link_width_by
: Column name for link widths.link_arrow_by
: Column name that indicates links with arrows.link_strength_by
: Column name for link strengths.link_strength_range
: Defines the range for automatic link strength scaling.link_include_columns
: An array of additional column names to include in link data.
Simulation Settings
Various simulation settings allow for detailed customization:
disable_simulation
: Prevents the simulation from running, merely rendering the graph. Default:None
.simulation_decay
: Defines how quickly the simulation cools down. Default:1000
.simulation_gravity
: Coefficient for gravity force. Default:0
.simulation_center
: Centers the mass force coefficient. Default:0
.simulation_repulsion
: Configures point repulsion between points. Default:0.1
.simulation_repulsion_theta
: Decreases / increases the detalization of the Many-Body force calculations. WhenuseQuadtree
is set toTrue
, this property corresponds to the Barnes–Hut approximation criterion. Default:1.7
.simulation_link_spring
: Spring constant for links. Default value:1
.simulation_link_distance
: Default distance for links. Default value:2
.simulation_link_dist_random_variation_range
: Random link distance range. Default value:[1, 1.2]
.simulation_repulsion_from_mouse
: Mouse position repulsion coefficient, activated by right-click. Default value:2
.simulation_friction
: Sets simulation friction. Default value:0.85
.simulation_cluster
: Cluster coefficient. Default value:0.1
.
Graph Appearance
Customize the widget’s visual aspects:
background_color
: Canvas background color. Default value:'#222222'
.space_size
: Size of the simulation space. Default value:4096
.point_color
: Default point size whenpoint_color_by
not specified. Default value:'#b3b3b3'
.point_greyout_opacity
: Opacity of unselected nodes during selection. Default value:0.1
.point_size
: The default size value to use for points when nopoint_size_by
are provided. Default:4
.point_size_scale
: Scale factor for point sizes. Default value:1
.hovered_point_cursor
: Cursor type when hovering over a point. Default value:'auto'
.render_hovered_point_ring
: Enables ring around hovered points. Default value:False
.hovered_point_ring_color
: Color of hovered point ring. Default value:'white'
.focused_point_ring_color
: Color of the focused point ring. Default value:'white'
.focused_point_index
: Index of the focused point, prioritized overfocus_point
method. Default value:None
.render_links
: Enables or disables link rendering. Default value:True
.link_color
: Default link color whenlink_color_by
not specified. Default value:'#666666'
.link_greyout_opacity
: Opacity of unselected links during selection. Default value:0.1
.link_width
: Default link width whenlink_width_by
not specified. Default value:1
.link_width_scale
: Scale factor for link widths. Default value:1
.curved_links
: Enables or disables curved links. Default value:False
.curved_link_segments
: Segments defining curved links. Default value:19
.curved_link_weight
: Weight factor for link curvature. Default value:0.8
.curved_link_control_point_distance
: Control point positioning for curves. If set to 1 then the control point is at a distance equal to the length of the line. Default value:0.5
.link_arrows
: Enables or disables arrows on links whenlink_arrow_by
not specified. Default value:False
.link_arrows_size_scale
: Scale factor for link arrow size. Default value:1
.link_visibility_distance_range
: Pixel distance range for link transparency. Default value:[50, 150]
.link_visibility_min_transparency
: Minimum transparency of links based onlink_visibility_distance_range
. Default value:0.25
.scale_points_on_zoom
: Scales point sizes when zooming. Default value:True
.initial_zoom_level
: Starting zoom level. Default value:None
.disable_zoom
: Enables or disables zooming. Default value:False
.enable_drag
: Allows graph dragging. Default value:False
.fit_view_on_init
: Automatically fits view to all points upon initialization. Default value:True
.fit_view_delay
: Delay for fitting view after initialization in milliseconds. Default value:250
.fit_view_padding
: Padding around fit view area. Default value:0.1
.fit_view_duration
: Animation duration for view fitting in milliseconds. Default value:250
.fit_view_by_points_in_rect
: Fits view to specified rectangle of points, active whenfit_view_on_init
isTrue
. Default value:None
.
Labels
Control label display on the graph:
show_labels
: Whether to show labels (except hovered) on the canvas. Default value:False
.show_dynamic_labels
: Flag to show dynamic labels for visible points. Default value:False
.show_top_labels
: Flag to display labels for the top points. Default values:False
.show_top_labels_limit
: Maximum number of top points to show labels for. Default value:100
.show_top_labels_by
: Column to determine which points are considered as a top. If not provided, the top points will be sorted by their total links count. Default value:None
.show_labels_for
: An array of point ids for which to show labels. Default value:None
.static_label_weight
: Weight of static labels. Default value:0.8
.dynamic_label_weight
: Weight of dynamic labels. Default value:0.7
.label_margin
: Specifies the margin between the label and the point. Default value:5
.show_hovered_point_label
: Flag to display the label for the currently hovered point. Default value:False
.
Additional Parameters
Various additional parameters enhance functionality:
show_FPS_monitor
: Display an FPS counter in the upper right corner of the canvas. Default value:False
.pixel_ratio
: Canvas pixel ratio. Default value:2
.random_seed
: Seed value for generating random numbers in simulations. Default value:None
.point_sampling_distance
: Distance threshold for sampling points. Default value:150
.
Methods and Values
The Cosmograph widget provides several methods for data interaction:
select_point_by_id(id)
: Selects point by id.select_point_by_index(index)
: Selects point by index.select_points_by_ids(ids)
: Selects points by ids.select_points_by_indices(indices)
: Selects points by indices.activate_rect_selection()
: Activates rectangular selection.deactivate_rect_selection()
: Deactivates rectangular selection.fit_view()
: Center and zoom in/out the view to fit all points in the scene.fit_view_by_ids(ids, duration, padding)
: Center and zoom in/out the viewport to fit points by their ids.fit_view_by_indices(indices, duration, padding)
: Center and zoom in/out the viewport to fit points by their indices.fit_view_by_coordinates(coordinates, duration, padding)
: Fit the given coordinates into the viewport.focus_point(id)
: Set focus on a point by id. A ring will be drawn around the focused point.focus_point_by_index(index)
: Set focus on a point by index. A ring will be drawn around the focused point.start(alpha)
: Starts the simulation.pause()
: Pause the simulation.restart()
: Restarts the simulation.step()
: Render only one frame of the simulation.
Values
clicked_point_id
: Point id that currently clicked.clicked_point_index
: Point index that currently clicked.selected_point_ids
: Point ids that currently selected.selected_point_indices
: Point indices that currently selected.
Legends
disable_point_color_legend
: Disable point color legend.disable_point_size_legend
: Disable point size legend.disable_link_color_legend
: Disable link color legend.disable_link_width_legend
: Disable link width legend.
Quadtree algorithm settings (Experimental)
use_quadtree
: Activates quadtree algorithm for Many-Body force when set toTrue
. Default value:False
.simulation_repulsion_quadtree_levels
: Barnes–Hut approximation depth, usable whenuseQuadtree
is set toTrue
. Default value:12
.